package io.openkunlun.javarpc.codegen;

public class RpcClass {

    private final String packageName;
    private final String className;
    private final String app;
    private final String service;
    private final String contentType;

    private RpcClass(Builder builder) {
        this.packageName = builder.packageName;
        this.className = builder.className;
        this.app = builder.app;
        this.service = builder.service;
        this.contentType = builder.contentType;
    }

    public String getPackageName() {
        return packageName;
    }

    public String getClassName() {
        return className;
    }

    public String getApp() {
        return app;
    }

    public String getService() {
        return service;
    }

    public String getContentType() {
        return contentType;
    }

    static Builder newBuilder() {
        return new Builder();
    }

    public static final class Builder {
         String packageName;
         String className;
         String app;
         String service;
         String contentType;

        private Builder() {
        }


        public Builder packageName(String packageName) {
            this.packageName = packageName;
            return this;
        }

        public Builder className(String className) {
            this.className = className;
            return this;
        }

        public Builder app(String app) {
            this.app = app;
            return this;
        }

        public Builder service(String service) {
            this.service = service;
            return this;
        }

        public Builder contentType(String contentType) {
            this.contentType = contentType;
            return this;
        }

        public RpcClass build() {
            return new RpcClass(this);
        }
    }
}
